var window = {
    atob: atob,
    setInterval: function(func, timeout){}
};
var injectUtil = {
    toJSON: function( obj ){
        if (injectUtil.isNull(obj)){
            obj = {};
        }
        return JSON.stringify(obj);
    },
    isNull: function ( obj ){
        return undefined == obj || null == obj;
    }
}
var atob = function(data){
    var dict = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
    var _0x14a9e2 = String(data).replace(/=+$/, '');
    for (var i = 0x0, _0x437741, _0x3165e4, _0x8ba7ac = 0x0, _0x37510f = ''; _0x3165e4 = _0x14a9e2['charAt'](_0x8ba7ac++); ~_0x3165e4 && (_0x437741 = i % 0x4 ? _0x437741 * 0x40 + _0x3165e4 : _0x3165e4,
        i++ % 0x4) ? _0x37510f += String['fromCharCode'](0xff & _0x437741 >> (-0x2 * i & 0x6)) : 0x0) {
            _0x3165e4 = dict['indexOf'](_0x3165e4);
    }
    return _0x37510f;
}